렉시컬 스코프 [JavaScript] 스코프와 클로저 (Scope & Closure) inner 함수는 outer 함수의 내부에서 선언이 되었기 때문에 inner 함수의 상위 스코프는 outer 함수의 스코프 입니다. 함수가 정의되는 시점에 상위 스코프가 결정되는 것을 정적 스코프(렉시컬 스코프 Lexical scope)라고 합니다. 이후에 해당 함수에 의해 함수 객체가 생성되면 해당 함수 객체는 본인의 상위 스코프를 항상 알 수 있게 됩니다. 이렇게 해당 함수가 상위 스코프... 정적 스코프JavaScript렉시컬 스코프동적 스코프전역 스코프지역 스코프js자유변수클로저중첩 함수스코프 체인블록 레벨 스코프함수 레벨 스코프JavaScript Javascript 렉시컬 스코프와 eval 함수의 문제점 "렉시컬 스코프를 이해해야 컨텍스트를 이해할 수 있다." 렉시컬 스코프(정적 스코프): 함수를 어디서 선언하였는지에 따라 상위스코프를 결정하는 방식 자바스크립트를 포함해 대부분의 언어는 렉시컬 스코프를 따른다. 렉시컬 스코프는 렉싱 타임에 정의되는 스코프를 말한다. 달리 말해 렉시컬 스코프는 개발자가 코드를 짤 때 변수와 스코프 블록( { ... 렉시컬 스코프는 변수와 스코프 블록을 어디서 ... 렉시컬 스코프JavaScriptevalJavaScript DEEP DIVE 한 장 요약 (스코프) 변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수 있다. 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위(스코프)가 결정된다. 위 예제 코드의 가장 바깥 영역에 선언된 변수 x는 어디서든 참조할 수 있다. 하지만 foo 함수 내부에서 선언된 변수 x는 foo함수 내부에서... localglobalscopedeep dive정적 스코프렉시컬 스코프지역전역Java ScriptJava Script [JS] 스코프(Scope) 변수는 자신이 선언된 위치에 의해 자신이 유효한 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다. 전역 스코프 지역 스코프 ❌ 전역 스코프에서는 지역 변수를 참조할 수 없다. 🔰 지역 스코프(local scope) 지역에 변수를 선언하면 지역 스코프를 갖는 지역 변수(local variable)가 된다. 위 코드에서 outer 함수 내부에서 선언된 z 변수는 지역 변수다.... global scopescopejs렉시컬 스코프frontendlocal scope스코프지역 스코프전역 스코프TILScope Chain스코프 체인Scope Chain
[JavaScript] 스코프와 클로저 (Scope & Closure) inner 함수는 outer 함수의 내부에서 선언이 되었기 때문에 inner 함수의 상위 스코프는 outer 함수의 스코프 입니다. 함수가 정의되는 시점에 상위 스코프가 결정되는 것을 정적 스코프(렉시컬 스코프 Lexical scope)라고 합니다. 이후에 해당 함수에 의해 함수 객체가 생성되면 해당 함수 객체는 본인의 상위 스코프를 항상 알 수 있게 됩니다. 이렇게 해당 함수가 상위 스코프... 정적 스코프JavaScript렉시컬 스코프동적 스코프전역 스코프지역 스코프js자유변수클로저중첩 함수스코프 체인블록 레벨 스코프함수 레벨 스코프JavaScript Javascript 렉시컬 스코프와 eval 함수의 문제점 "렉시컬 스코프를 이해해야 컨텍스트를 이해할 수 있다." 렉시컬 스코프(정적 스코프): 함수를 어디서 선언하였는지에 따라 상위스코프를 결정하는 방식 자바스크립트를 포함해 대부분의 언어는 렉시컬 스코프를 따른다. 렉시컬 스코프는 렉싱 타임에 정의되는 스코프를 말한다. 달리 말해 렉시컬 스코프는 개발자가 코드를 짤 때 변수와 스코프 블록( { ... 렉시컬 스코프는 변수와 스코프 블록을 어디서 ... 렉시컬 스코프JavaScriptevalJavaScript DEEP DIVE 한 장 요약 (스코프) 변수는 코드의 가장 바깥 영역뿐 아니라 코드 블록이나 함수 몸체 내에서도 선언할 수 있다. 모든 식별자(변수 이름, 함수 이름, 클래스 이름 등)는 자신이 선언된 위치에 의해 다른 코드가 식별자 자신을 참조할 수 있는 유효 범위(스코프)가 결정된다. 위 예제 코드의 가장 바깥 영역에 선언된 변수 x는 어디서든 참조할 수 있다. 하지만 foo 함수 내부에서 선언된 변수 x는 foo함수 내부에서... localglobalscopedeep dive정적 스코프렉시컬 스코프지역전역Java ScriptJava Script [JS] 스코프(Scope) 변수는 자신이 선언된 위치에 의해 자신이 유효한 범위, 즉 다른 코드가 변수 자신을 참조할 수 있는 범위가 결정된다. 전역 스코프 지역 스코프 ❌ 전역 스코프에서는 지역 변수를 참조할 수 없다. 🔰 지역 스코프(local scope) 지역에 변수를 선언하면 지역 스코프를 갖는 지역 변수(local variable)가 된다. 위 코드에서 outer 함수 내부에서 선언된 z 변수는 지역 변수다.... global scopescopejs렉시컬 스코프frontendlocal scope스코프지역 스코프전역 스코프TILScope Chain스코프 체인Scope Chain